OpenGL - E/S
Entrees/Sorties avec glut
Si vous utilisez une structure de programme opengl axée autour de glut (voir algo/structure d'un programme opengl), il vous suffit d'utiliser la fonction glutKeyboardFunc(); et glutSpecialFunc();.
C'est deux fonctions gèrent toutes les touches du clavier, et glutMouseFunc(); gère la souris. Je vous donne la liste des touches et les états des boutons de la souris. Il ne vous restera plus qu'à mettre ces fonctions dans le main();, elles recoivent en parametre un pointeur de fonction (Ce sont les fonctions que vous utiliserez pour définir les actions).
liste des boutons
glutKeyboardFunc(); |
Chaque touche a un code ASCII, il suffit d'utiliser ce code. |
|
glutSpecialFunc(); |
GLUT_KEY_F1 |
GLUT_KEY_F2 |
GLUT_KEY_F3 |
GLUT_KEY_F4 |
GLUT_KEY_F5 |
GLUT_KEY_F6 |
GLUT_KEY_F7 |
GLUT_KEY_F8 |
GLUT_KEY_F9 |
GLUT_KEY_F10 |
GLUT_KEY_F11 |
GLUT_KEY_F12 |
GLUT_KEY_LEFT |
GLUT_KEY_RIGHT |
GLUT_KEY_UP |
GLUT_KEY_DOWN |
GLUT_KEY_PAGE_UP |
GLUT_KEY_PAGE_DOWN |
GLUT_KEY_HOME |
GLUT_KEY_END |
GLUT_KEY_INSERT |
glutMouseFunc(); |
GLUT_LEFT_BUTTON |
GLUT_MIDDLE_BUTTON |
GLUT_RIGHT_BUTTON |
etats |
GLUT_DOWN |
GLUT_UP |
Entrees/Sorties avec windows
Windows gère toutes les touches clavier, special et souris à travers le message WM_KEYDOWN.
Pareil pour l'utiliser voir algo/structure d'un programme opengl.
Voilà juste la liste des messages:
liste des messages
windows |
Les char ASCII Majuscule pour les touches normales (pas de distinction min maj). |
VK_LBUTTON (bouton gauche de la souris) |
VK_RBUTTON (bouton droit de la souris) |
VK_MBUTTON (bouton milieu de la souris) |
|
VK_CANCEL |
VK_BACK |
VK_TAB |
VK_CLEAR |
VK_RETURN |
VK_SHIFT |
VK_CONTROL |
VK_MENU (Alt) |
VK_PAUSE |
VK_CAPITAL (Caps Lock) |
VK_ESCAPE |
VK_SPACE |
VK_PRIOR (Page Up) |
VK_NEXT (Page Down) |
VK_END |
VK_HOME |
VK_LEFT |
VK_UP |
VK_RIGHT |
VK_DOWN |
VK_SELECT (???) |
VK_EXECUTE (???) |
VK_SNAPSHOT (Print Screen) |
VK_INSERT |
VK_DELETE |
VK_HELP |
VK_0, ... , VK_9 |
'A' , ... , 'Z' |
VK_LWIN (touche 'Windows' gauche - pour les claviers windows) |
VK_RWIN (touche 'Windows' droite - pour les claviers windows) |
VK_APPS (touche 'Apps' - pour les claviers windows) |
VK_NUMPAD0, ... , VK_NUMPAD9 |
VK_MULTIPLY (*) |
VK_ADD (+) |
VK_SUBTRACT (-) |
VK_DECIMAL (.) |
VK_DIVIDE (/) |
VK_F1, ... , VK_F24 |
VK_NUMLOCK |
VK_SCROLL (Scroll Lock) |